<?php
// 获取通过URL重写传递过来的controller参数
$controller = isset($_GET['controller']) ? $_GET['controller'] : '';
// 获取通过URL重写传递过来的service参数
$service = isset($_GET['service']) ? $_GET['service'] : '';
$controller_file_path = __DIR__ . '/api/' . $controller . '.php';

if (file_exists($controller_file_path)) {
    require_once $controller_file_path;
    // 检查对应的类是否存在（假设控制器类名和文件名一致，首字母大写，可根据实际情况调整）
    $controller_class_name = ucfirst($controller);
    if (class_exists($controller_class_name)) {
        $controller_obj = new $controller_class_name();
        // 检查对应的方法是否存在于类中
        if (method_exists($controller_obj, $service)) {
            // 调用对应的方法并获取处理结果
            header('Content-Type: application/json');
            $result = $controller_obj->$service();
            if (!is_null($result)) {
                echo json_encode($result, JSON_UNESCAPED_UNICODE);
            }
        } else {
            // 如果方法不存在，返回错误信息
            http_response_code(404);
            echo "方法 $service 在类 $controller_class_name 中不存在";
        }
    } else {
        // 如果类不存在，返回错误信息
        http_response_code(404);
        echo "类 $controller_class_name 不存在";
    }
} else {
    // 如果控制器文件不存在，返回404错误信息
    http_response_code(404);
    echo "控制器文件 $controller_file_path 不存在";
}